package game.asset
{
	import away3d.animators.data.*;
	import away3d.animators.skeleton.*;
	import away3d.bounds.*;
	import away3d.containers.*;
	import away3d.core.base.*;
	import away3d.core.managers.*;
	import away3d.entities.*;
	import away3d.library.assets.*;
	import away3d.loaders.misc.*;
	import away3d.loaders.parsers.*;
	import engine.core.*;
	import engine.graphics.away3d.*;
	import engine.math.*;
	import flash.display.*;
	import flash.geom.*;
	import flash.net.*;
	import flash.utils.*;
	
	public class RxRUMParser extends ParserBase
	{
		private var _cur_block_id:uint;
		private var _blocks:Vector.<AWDBlock>;
		private var _version:Array;
		private var _compression:uint;
		private var _streaming:Boolean;
		private var _texture_users:Object;
		private var _parsed_header:Boolean;
		private var _body:ByteArray;
		private static const UNCOMPRESSED:uint = 0;
		private static const DEFLATE:uint = 1;
		private static const LZMA:uint = 2;
		private static const RUM_FIELD_INT8:uint = 1;
		private static const RUM_FIELD_INT16:uint = 2;
		private static const RUM_FIELD_INT32:uint = 3;
		private static const RUM_FIELD_UINT8:uint = 4;
		private static const RUM_FIELD_UINT16:uint = 5;
		private static const RUM_FIELD_UINT32:uint = 6;
		private static const RUM_FIELD_FLOAT32:uint = 7;
		private static const RUM_FIELD_FLOAT64:uint = 8;
		private static const RUM_FIELD_BOOL:uint = 21;
		private static const RUM_FIELD_COLOR:uint = 22;
		private static const RUM_FIELD_BADDR:uint = 23;
		private static const RUM_FIELD_STRING:uint = 31;
		private static const RUM_FIELD_BYTEARRAY:uint = 32;
		private static const RUM_FIELD_VECTOR2x1:uint = 41;
		private static const RUM_FIELD_VECTOR3x1:uint = 42;
		private static const RUM_FIELD_VECTOR4x1:uint = 43;
		private static const RUM_FIELD_MTX3x2:uint = 44;
		private static const RUM_FIELD_MTX3x3:uint = 45;
		private static const RUM_FIELD_MTX4x3:uint = 46;
		private static const RUM_FIELD_MTX4x4:uint = 47;
		private static const RUM_VERSION_MAJOR:uint = 3;
		private static const RUM_VERSION_MINOR:uint = 0;
		private static var s_postLoad:Boolean = false;
		
		public function RxRUMParser(param1:RxTimerWorker)
		{
			this._texture_users = {};
			//super(ParserDataFormat.BINARY, param1);
			super(ParserDataFormat.BINARY);
			this._blocks = new Vector.<AWDBlock>;
			this._blocks[0] = new AWDBlock();
			this._blocks[0].data = null;
			this._version = [];
		}
		
		public static function PostLoad(param1:Boolean) : void
		{
			s_postLoad = param1;
		}
	}
}

import flash.utils.Dictionary;

class AWDBlock extends Object
{
	public var id:uint;
	public var data:Object;
	
	function AWDBlock()
	{
		return;
	}
	
}

dynamic class AWDProperties extends Object
{
	public var dict:Dictionary;
	
	function AWDProperties()
	{
		this.dict = new Dictionary(true);
	}
	
	public function set(param1:uint, param2:*) : void
	{
		this.dict[param1] = param2;
	}
	
	public function get(param1:uint, param2:*) : *
	{
		if (this.dict.hasOwnProperty(param1))
		{
			return this.dict[param1];
		}
		return param2;
	}
	
}